'use strict';
(function(){
  var baseImageUrl = 'http://static.winnovator.cn/scale/17/';

  var ratef = function(v){
    var tv = (((v +6)/(12)+0.1)*100).toFixed(1);
    if(tv > 100){
      return 100;
    }
    return tv;

  };
  function getRandomNum(Min,Max)
  {
    var Range = Max - Min;
    var Rand = Math.random();
    return(Min + Math.round(Rand * Range));
  }

  var userSelectedSerial = {};

  //获得试题的各个维度的得分
  function qDimResult(qId,qAnswerArr){

    var dimResult = [];
    _.each(qAnswerArr, function(oneAid){
      var one = _answerDims[oneAid];
      _.each(one, function(oneDim){
        dimResult[oneDim.name - 1] = 1;
      });
    });
    return dimResult;

  }
  window.roundDataUtil = {
    currentQuestion:function(){
      return currentQuestion;
    },
    getNext: function(answerId){ //根据已有的答题序列获得下一提
      if(answerId === null){//针对用户没有选择的时候
        answerId = currentQuestion.answers[0].id;
        console.log("用户没有选择，默认为：" + answerId);
      }

      var oneAnswer = _answers[answerId];
      var nextItem = oneAnswer.next;
      var data = null;
      var questionIndex = -1;
      if(nextItem.type === 'q'){
        data = questions_map[nextItem.id];
        currentQuestion = data;
        //获得下一题目的索引值
        for(var i = 0 ; i < _questions.length ; i ++){
          var oneQuestoin = _questions[i];
          if(oneQuestoin.id == nextItem.id){
            questionIndex = i;
            break;
          }
        }
      }else{
        //答题结果
        //从特定的题型中解析该试题的维度


        //拿到用户的答题序列
        var dimResultArr = [];
        _.each(_.values(userSelectedSerial),function(oneArr){
          dimResultArr.push(qDimResult(null,oneArr));
        });
// console.log(dimResultArr);
        var answerDimsList = [];//各个维度数组的总和
        for(var i = 0; i < 5; i++){
          var tempSum = 0;
          _.each(dimResultArr,function(oneDimResult){
            if(oneDimResult[i]){
              tempSum += oneDimResult[i];
            }
          });

        //   console.log('tempSum:: ' +tempSum);
          answerDimsList[i] = tempSum;
        }

        //根据各个维度获得结果
        var data = null;
        for(var i = 0; i < resultDescData.length; i++){
          var tmpDesc = resultDescData[i];

          if(tmpDesc.check(answerDimsList)){
            data = tmpDesc.getResult(answerDimsList);
            break;
          }
        }

        // console.log(answerDimsList);

        if(data === null){
          data = resultDescData[1].getResult([1,1,1,1,1]);
        }
      }

      return {
        type: nextItem.type,
        data:data,
        pageIndex: questionIndex
      }

    },
    selectItem: function(qid, selectSerial){
    //   console.log(qid);
    //   console.log(selectSerial);
      userSelectedSerial[qid] = selectSerial;
    },
    getUserSelectResult: function(){
      return userSelectedSerial;
    }
  }

  var _questions = [
    {
      'id': 'q1',
      'caption': '你突然被告知要开启一场旅行（请选出<span class="questionCaption">所有</span>你会出现的想法）',
      'img_src': baseImageUrl + '1.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a11', 'caption': '这一定会是一场不错的旅行', 'next':{'type':'q','id':'q2'}},
        {'id':'a12', 'caption': '太突然了，一定很糟糕', 'next':{'type':'q','id':'q2'}},
        {'id':'a13', 'caption': '先去看看再说吧', 'next':{'type':'q','id':'q2'}},
      ]
    },
    {
      'id': 'q2',
      'caption': '非常不巧，你刚出门就下起了大雨（请选出<span class="questionCaption">所有</span>你会出现的想法）',
      'img_src': baseImageUrl + '2.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a21', 'caption': '哈！我穿了雨衣，真是机智', 'next':{'type':'q','id':'q3'}},
        {'id':'a22', 'caption': '衣服肯定要弄脏了', 'next':{'type':'q','id':'q3'}},
        {'id':'a23', 'caption': '天哪！可能会赶不上车', 'next':{'type':'q','id':'q3'}},
      ]
    },
    {
      'id': 'q3',
      'caption': '途中还遭遇了堵车（请选出<span class="questionCaption">所有</span>你会出现的想法）',
      'img_src': baseImageUrl + '3.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a31', 'caption': '太糟糕了！这都能堵车！','next':{'type':'q','id':'q4'}},
        {'id':'a32', 'caption': '马上就会好起来的','next':{'type':'q','id':'q4'}},
        {'id':'a33', 'caption': '这得等到什么时候啊','next':{'type':'q','id':'q4'}},
      ]
    },
    {
      'id': 'q4',
      'caption': '晚上你终于找到一家旅店，可是它的条件是这样的（请选出<span class="questionCaption">所有</span>你会出现的想法）',
      'img_src': baseImageUrl + '4.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a41', 'caption': '说不定房间的条件还不错呢','next':{'type':'q','id':'q5'}},
        {'id':'a42', 'caption': '噢！这地方条件太差了，他们是怎么搞的！','next':{'type':'q','id':'q5'}},
        {'id':'a43', 'caption': '条件好差…但是也没有办法了','next':{'type':'q','id':'q5'}}
      ]
    },
    {
      'id': 'q5',
      'caption': '晚上你做了一个梦，梦里出现了一只老鼠（请选出<span class="questionCaption">所有</span>你会出现的想法）',
      'img_src': baseImageUrl + '5.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a51', 'caption': '它是想和我交朋友','next':{'type':'q','id':'q6'}},
        {'id':'a52', 'caption': '环境好阴森，真可怕','next':{'type':'q','id':'q6'}},
        {'id':'a53', 'caption': '这只老鼠好讨厌，快走开','next':{'type':'q','id':'q6'}}
      ]
    },
    {
      'id': 'q6',
      'caption': '老鼠想带你游览这个梦境，你们经历了一些冒险（请选出<span class="questionCaption">所有</span>你会出现的想法）',
      'img_src': baseImageUrl + '6.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a61', 'caption': '真是有趣的经历','next':{'type':'q','id':'q7'}},
        {'id':'a62', 'caption': '它差点害死我','next':{'type':'q','id':'q7'}}
      ]
    },
    {
      'id': 'q7',
      'caption': '你们到了一个房间，周围的一切开始变形（请选出<span class="questionCaption">所有</span>你会出现的想法）',
      'img_src': baseImageUrl + '7.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a71', 'caption': '我会变成什么个样子呢？真期待','next':{'type':'q','id':'q8'}},
        {'id':'a72', 'caption': '哦！真难看！我不会也变得这么难看吧','next':{'type':'q','id':'q8'}},
        {'id':'a73', 'caption': '这是什么鬼地方！真讨厌！','next':{'type':'q','id':'q8'}}
      ]
    },
    {
      'id': 'q8',
      'caption': '一个小丑突然闯进了你的梦，老鼠被吓跑了（请选出<span class="questionCaption">所有</span>你会出现的想法）',
      'img_src': baseImageUrl + '8.jpg',
      'imgWidth': 650,'imgHeight': 310,
      'answers': [
        {'id':'a81', 'caption': '一个新朋友！','next':{'type':'r','id':'c'}},
        {'id':'a82', 'caption': '你为什么吓走我的朋友！','next':{'type':'r','id':'c'}},
        {'id':'a83', 'caption': '太可怕了，我也跑吧','next':{'type':'r','id':'c'}}
      ]
    }
  ];
  var _answerDims = {
    'a11': [{'name':1,'value':1}],
    'a12': [{'name':2,'value':1}],
    'a13': [],
    'a21': [{'name':1,'value':1}],
    'a22': [{'name':2,'value':1},{'name':4,'value':1}],
    'a23': [{'name':2,'value':1},{'name':5,'value':1}],
    'a31': [{'name':3,'value':1}],
    'a32': [{'name':1,'value':1}],
    'a33': [{'name':2,'value':1}, {'name':5,'value':1}],

    'a41': [{'name':2,'value':1}],
    'a42': [{'name':3,'value':1},{'name':4,'value':1}],
    'a43': [{'name':2,'value':1}],

    'a51': [{'name':1,'value':1}],
    'a52': [{'name':5,'value':1}],
    'a53': [{'name':4,'value':1}],

    'a61': [{'name':1,'value':1}],
    'a62': [{'name':3,'value':1},{'name':5,'value':1}],

    'a71': [{'name':1,'value':1}],
    'a72': [{'name':2,'value':1},{'name':4,'value':1}],
    'a73': [{'name':3,'value':1}],

    'a81': [{'name':1,'value':1}],
    'a82': [{'name':3,'value':1}],
    'a83': [{'name':5,'value':1}]
  };
  function isNeiXiang(value){
    if(value>=-2 && value <= 5){
      return true;
    }
    return false;
  }
  function isBuHaiXiu(value){
    if(value>=-6 && value <= 1){
      return true;
    }
    return false;
  }
  var resultDescData =
    [
      {
        check:function(dimList){
          var max = _.max(dimList);
          var index = _.indexOf(dimList, max);
          if(index === 0){
            return true;
          }
          return false;
        },
        getResult: function(dimList){
          var dim_pie_name = dimList.join('_') + '_';
          return {
            id : 'r1',
            title:'喜悦',
            rate:0,
            desc:'' +
            '<img src="' + baseImageUrl + 'result/' + dim_pie_name + '.png" style="width: 100%;height: auto">' +
            '<h4>' +
            '喜悦（Joy）是你的主导情绪~你会把每一次的挑战当做是新的机会，生活中经历的一些困难对你来说都只是一些小插曲。总而言之，你无时无刻不在寻找快乐，你这样的你会显得无忧无虑、乐观开朗。' +
            '<br />' +
            '但也需要注意“永远的快乐”是不可能存在的，过分的乐观可能会妨碍我们的理性思考，而过度压抑负面情绪可能会引起更强烈的爆发。' +
            '<br />' +
              '最后，正如影片试图告诉我们的，所有的情绪都有积极的意义，面对情绪的最佳方法永远是面对而不是逃避，希望大家都能更好地认知和应对自己的情绪！' +
            '</h4>',
            url: baseImageUrl + 'joy.jpg'
          }
        }
      },
      {
        check:function(dimList){
          var max = _.max(dimList);
          var index = _.indexOf(dimList, max);
          if(index === 1){
            return true;
          }
          return false;
        },
        getResult: function(dimList){
          var dim_pie_name = dimList.join('_') + '_';
          return {
            id : 'r2',
            title:'忧伤',
            rate:0,
            desc:'' +
            '<img src="' + baseImageUrl + 'result/' + dim_pie_name + '.png" style="width: 100%;height: auto">' +
            '<h4>' +
            '忧伤（Sadness）是你的主导情绪。你会给人一种安静的、淡淡的感觉，喜欢思考更胜过行动。这样的你能很好地面对生活中的现实，知道什么是你想要的；同时忧伤的情绪也能让你更好地体验生命，从而共情他人的负面情绪。' +
            '<br />' +
            '也许经常有人劝你忘记那些悲伤，多想想开心的事，确实适度的忧郁会让人更深刻，但如果悲伤的情绪持续太久而感觉不到其他的情绪可能会引起抑郁症，需要小心哦~' +
            '<br />' +
            '最后，正如影片试图告诉我们的，所有的情绪都有积极的意义，面对情绪的最佳方法永远是面对而不是逃避，希望大家都能更好地认知和应对自己的情绪！' +
            '</h4>',
            url: baseImageUrl + 'sadness.jpg'
          }
        }
      },
      {
        check:function(dimList){
          var max = _.max(dimList);
          var index = _.indexOf(dimList, max);
          if(index === 2){
            return true;
          }
          return false;
        },
        getResult: function(dimList){
          var dim_pie_name = dimList.join('_') + '_';
          return {
            id : 'r3',
            rate:0,
            title:'愤怒',
            desc:'' +
            '<img src="' + baseImageUrl + 'result/' + dim_pie_name + '.png" style="width: 100%;height: auto">' +
            '<h4>' +
            '愤怒（Anger）是你的主导情绪。在“常识”中，愤怒被视为一种典型的消极情绪，是人际关系的杀手，但愤怒事实上代表的是一种不妥协的态度和敢于反抗的精神。虽然愤怒经常被认为是不理智的行为，但有研究表明在愤怒状态下，人们更有可能接触与原先不同的观点，做出理性决策。' +
            '<br />' +
            '当然，过于频繁地愤怒也确实会影响人际关系，因此学会克制并适当地表达愤怒也是有必要的。' +
            '<br />' +
            '最后，正如影片试图告诉我们的，所有的情绪都有积极的意义，面对情绪的最佳方法永远是面对而不是逃避，希望大家都能更好地认知和应对自己的情绪！' +
            '</h4>',
            url: baseImageUrl + 'anger.jpg'
          }
        }
      },
      {
        check:function(dimList){
          var max = _.max(dimList);
          var index = _.indexOf(dimList, max);
          if(index === 3){
            return true;
          }
          return false;
        },
        getResult: function(dimList){
          var dim_pie_name = dimList.join('_') + '_';
          return {
            id : 'r4',
            rate:0,
            title:'厌恶',
            desc:'' +
            '<img src="' + baseImageUrl + 'result/' + dim_pie_name + '.png" style="width: 100%;height: auto">' +
            '<h4>' +
            '厌恶（Disgust）是你的主导情绪。每个人都有自己莫名厌恶的东西，比如小时候特别不爱吃的菜，或者某种艺术风格，某个人。厌恶的情绪是有针对性的，它本质上是你对于一些可能存在危险的防御机制，能让你免受困扰。' +
            '<br />' +
            '在生活中，也许你会显得有些刻薄挑剔，是朋友眼中的“吐糟大师”，但对于自己真正重视的东西，你还是能善待珍惜的。' +
            '<br />' +
            '最后，正如影片试图告诉我们的，所有的情绪都有积极的意义，面对情绪的最佳方法永远是面对而不是逃避，希望大家都能更好地认知和应对自己的情绪！' +
            '</h4>',
            url: baseImageUrl + 'disgust.jpg'
          }
        }
      },
      {
        check:function(dimList){
          var max = _.max(dimList);
          var index = _.indexOf(dimList, max);
          if(index === 4){
            return true;
          }
          return false;
        },
        getResult: function(dimList){
          var dim_pie_name = dimList.join('_') + '_';
          return {
            id : 'r4',
            rate:0,
            title:'恐惧',
            desc:'' +
            '<img src="' + baseImageUrl + 'result/' + dim_pie_name + '.png" style="width: 100%;height: auto">' +
            '<h4>' +
            '恐惧（Fear）是你的主导情绪。因为恐惧失败而拼命努力，因为恐惧伤害而远离危险，恐惧也有其积极的意义，它是身心对你的警示。' +
            '<br />' +
            '当你产生恐惧的时候，也许你会选择逃避或过分地压抑，但这并不能让恐惧的情绪消失，反而可能会产生一些心结或阴影。相反，面对自己的恐惧才是正确的解决方法，而其中的第一步就是认识到自己的恐惧。' +
            '<br />' +
            '最后，正如影片试图告诉我们的，所有的情绪都有积极的意义，面对情绪的最佳方法永远是面对而不是逃避，希望大家都能更好地认知和应对自己的情绪！' +
            '</h4>',
            url: baseImageUrl + 'fear.jpg'
          }
        }
      }
    ];

  var currentQuestion = _questions[0];
  var _answers = _.indexBy(
      _.reduceRight(
        _.map(_questions, function(q){return q.answers}),
        function(a, b) { return a.concat(b); }, []),
      function(one){return one.id;}
  );
  var questions_map = _.indexBy(_questions, function(one){return one.id;});
  //var result_map = _.indexBy(resultDescData, function(one){return one.id;});
window.yoparentData = {
  'id':17,
  'qType':'multiple-choice',
  'cate_id': '1',
  'title': '头脑特工队！是谁主控你的情绪？ | 优儿学堂',
  'imgSrc': baseImageUrl + 'face.jpg?t=' + Math.random(),
  'imgWidth': 650,'imgHeight': 310,
  'description': '目前，影片《头脑特工队》正在热映，影片中丰富的心理学知识不断地冲击着我们，在我们没有意识到的大脑深处，情绪正在深刻地影响着我们的认识和行为。那么你的主导情绪是什么呢？在生活中你的情绪又是如何分布的呢？试试下面的测试吧~' +
  '（年龄不限）',
  'isCheckResult':false,
  'showCheckResult':false,
  'share': {
    'title': '头脑特工队！是谁主控你的情绪？ | 优儿学堂',
    'description':''
  },
  'questions': _questions,
  'tpl': 'default'
};
})();
